package com.example.musicbox.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author 帅哥是我
 * @since 2022-08-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="MMusic对象", description="")
public class MMusic implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "音乐id")
      @TableId(value = "mId", type = IdType.AUTO)
    private Integer mid;

    @ApiModelProperty(value = "音乐名称")
    @TableField("mName")
    private String mname;

    @ApiModelProperty(value = "音乐作者")
    @TableField("mAuthor")
    private String mauthor;

    @ApiModelProperty(value = "上传的用户id")
    @TableField("uId")
    private Integer uid;

    @ApiModelProperty(value = "音乐url路径")
    @TableField("mUrl")
    private String murl;

    @ApiModelProperty(value = "音乐时间")
    @TableField("mSecond")
    private Integer msecond;

    @ApiModelProperty(value = "音乐审核状态（私有不需要审核 公有需要审核）")
    @TableField("mStatus")
    private String mstatus;

    @ApiModelProperty(value = "0为公有 1为私有")
    @TableField("isPublish")
    private String ispublish;

    @ApiModelProperty(value = "翻唱作者")
    @TableField("coverBy")
    private String coverby;

    @ApiModelProperty(value = "音乐MV路径")
    @TableField("mvUrl")
    private String mvurl;

    @ApiModelProperty(value = "点赞数量")
    @TableField("praiseCount")
    private Integer praisecount;

    @ApiModelProperty(value = "点赞用户id")
    @TableField("praiseUserId")
    private Integer praiseuserid;

    @ApiModelProperty(value = "点赞用户姓名")
    @TableField("praiseUserName")
    private String praiseusername;

    @ApiModelProperty(value = "播放的用户")
    @TableField("listenUserId")
    private Integer listenuserid;

    @ApiModelProperty(value = "该播放用户听这首歌多少次")
    @TableField("listenCount")
    private Integer listencount;

    @ApiModelProperty(value = "被下载的次数")
    @TableField("downloadCount")
    private Integer downloadcount;

    @ApiModelProperty(value = "需要vip才可以听（这是公共音乐才会有）")
    @TableField("needLevel")
    private Integer needlevel;

    @ApiModelProperty(value = "0 流行 1摇滚 2民谣 3电音 4 爵士 5 说唱 6不知道什么类型")
    @TableField("mType")
    private Integer mType;

    @ApiModelProperty(value = "音乐上传时间")
    @TableField(value = "uploadDate",fill = FieldFill.INSERT)
    private LocalDateTime uploadDate;

    @ApiModelProperty(value = "音乐封面")
    @TableField("mPhoto")
    private String mPhoto;

}
